package com.sz.biz.logistics.bill.entity;

import com.sz.common.base.entity.VersionEntity;
import com.sz.common.base.entity.VersionEntityBase;

import java.math.BigDecimal;
import java.util.Date;

/**
 * Function: 账单 <br>
 * Author: jifeixing <br>
 * Date: 2017-05-16 14:22:00
 */
public class Billing extends VersionEntityBase implements VersionEntity {

    private Integer id;
    /**
     * 账单类型
     */
    private String type;
    /**
     * 账单号
     */
    private String billNo;
    /**
     * 客户主账户
     */
    private Integer customerId;

    /**
     * 出帐时间
     */
    private Date billTime;
    /**
     * 生成时间
     */
    private Date releaseTime;
    /**
     * 币种
     */
    private String currencyType;
    /**
     * 总计金额
     */
    private BigDecimal total;
    /**
     * 实收金额
     */
    private BigDecimal actualTotal;

    /**
     * 调整类型： 上调，下调
     */
    private BillingAdjustmentTypeCode adjustmentTypeCode;
    /**
     * 调整基数
     */
    private BigDecimal adjustmentValue;
    /**
     * 调整单位
     * 1： 百分比； 2： 金额
     */
    private String adjustmentUnit;

    /**
     * 调整说明
     */
    private String adjustmentRemark;
    /**
     * 调整时间
     */
    private Date adjustmentTime;
    /**
     * 调整人
     */
    private Integer adjustmentByUser;

    /**
     * 账单状态
     */
    private BillingStatus status;
    /**
     * 是否被打回
     */
    private Boolean isRejected;

    /**
     * 账单中的订单开始时间
     */
    private Date startEffectTime;

    /**
     * 账单中的订单结束时间
     */

    private Date endEffectTime;

    /**
     * 账单中的订单总数量
     */
    private Integer orderQuantity;

    /**
     * 已完成订单数量
     */
    private Integer completeOrderQuantity;
    /**
     * 任务编码
     */
    private String taskCode;

    @Override
    public Integer getId() {
        return id;
    }

    @Override
    public void setId(Integer id) {
        this.id = id;
    }

    public String getBillNo() {
        return billNo;
    }

    public void setBillNo(String billNo) {
        this.billNo = billNo;
    }

    public Integer getCustomerId() {
        return customerId;
    }

    public void setCustomerId(Integer customerId) {
        this.customerId = customerId;
    }

    public Date getReleaseTime() {
        return releaseTime;
    }

    public void setReleaseTime(Date releaseTime) {
        this.releaseTime = releaseTime;
    }

    public String getCurrencyType() {
        return currencyType;
    }

    public void setCurrencyType(String currencyType) {
        this.currencyType = currencyType;
    }

    public BigDecimal getTotal() {
        return total;
    }

    public void setTotal(BigDecimal total) {
        this.total = total;
    }

    public BigDecimal getActualTotal() {
        return actualTotal;
    }

    public void setActualTotal(BigDecimal actualTotal) {
        this.actualTotal = actualTotal;
    }

    public BillingAdjustmentTypeCode getAdjustmentTypeCode() {
        return adjustmentTypeCode;
    }

    public void setAdjustmentTypeCode(BillingAdjustmentTypeCode adjustmentTypeCode) {
        this.adjustmentTypeCode = adjustmentTypeCode;
    }

    public BigDecimal getAdjustmentValue() {
        return adjustmentValue;
    }

    public void setAdjustmentValue(BigDecimal adjustmentValue) {
        this.adjustmentValue = adjustmentValue;
    }

    public String getAdjustmentUnit() {
        return adjustmentUnit;
    }

    public void setAdjustmentUnit(String adjustmentUnit) {
        this.adjustmentUnit = adjustmentUnit;
    }

    public String getAdjustmentRemark() {
        return adjustmentRemark;
    }

    public void setAdjustmentRemark(String adjustmentRemark) {
        this.adjustmentRemark = adjustmentRemark;
    }

    public Date getAdjustmentTime() {
        return adjustmentTime;
    }

    public void setAdjustmentTime(Date adjustmentTime) {
        this.adjustmentTime = adjustmentTime;
    }

    public Integer getAdjustmentByUser() {
        return adjustmentByUser;
    }

    public void setAdjustmentByUser(Integer adjustmentByUser) {
        this.adjustmentByUser = adjustmentByUser;
    }

    public BillingStatus getStatus() {
        return status;
    }

    public void setStatus(BillingStatus status) {
        this.status = status;
    }

    public Boolean getIsRejected() {
        return isRejected;
    }

    public void setIsRejected(Boolean rejected) {
        isRejected = rejected;
    }

    public Date getStartEffectTime() {
        return startEffectTime;
    }

    public void setStartEffectTime(Date startEffectTime) {
        this.startEffectTime = startEffectTime;
    }

    public Date getEndEffectTime() {
        return endEffectTime;
    }

    public void setEndEffectTime(Date endEffectTime) {
        this.endEffectTime = endEffectTime;
    }

    public Integer getOrderQuantity() {
        return orderQuantity;
    }

    public void setOrderQuantity(Integer orderQuantity) {
        this.orderQuantity = orderQuantity;
    }

    public Integer getCompleteOrderQuantity() {
        return completeOrderQuantity;
    }

    public void setCompleteOrderQuantity(Integer completeOrderQuantity) {
        this.completeOrderQuantity = completeOrderQuantity;
    }

    public String getTaskCode() {
        return taskCode;
    }

    public void setTaskCode(String taskCode) {
        this.taskCode = taskCode;
    }

    public Date getBillTime() {
        return billTime;
    }

    public void setBillTime(Date billTime) {
        this.billTime = billTime;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }
}